package org.robolectric;
import com.example.objects.Dummy;
import com.example.objects.OuterDummy2;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Generated;
import org.robolectric.annotation.processing.shadows.ShadowDummy;
import org.robolectric.annotation.processing.shadows.ShadowOuterDummy2;
import org.robolectric.annotation.processing.shadows.ShadowPrivate;
import org.robolectric.internal.ShadowProvider;
import org.robolectric.shadow.api.Shadow;

/**
 * Shadow mapper. Automatically generated by the Robolectric Annotation Processor.
 */
@Generated("org.robolectric.annotation.processing.RobolectricProcessor")
@SuppressWarnings({"unchecked","deprecation"})
public class Shadows implements ShadowProvider {
  private static final List<Map.Entry<String, String>> SHADOWS = new ArrayList<>(6);

  static {
    SHADOWS.add(new AbstractMap.SimpleImmutableEntry<>("com.example.objects.Dummy", "org.robolectric.annotation.processing.shadows.ShadowDummy"));
    SHADOWS.add(new AbstractMap.SimpleImmutableEntry<>("com.example.objects.OuterDummy2", "org.robolectric.annotation.processing.shadows.ShadowOuterDummy2"));
    SHADOWS.add(new AbstractMap.SimpleImmutableEntry<>("com.example.objects.OuterDummy2.InnerPackage", "org.robolectric.annotation.processing.shadows.ShadowOuterDummy2$ShadowInnerPackage"));
    SHADOWS.add(new AbstractMap.SimpleImmutableEntry<>("com.example.objects.OuterDummy2.InnerPrivate", "org.robolectric.annotation.processing.shadows.ShadowOuterDummy2$ShadowInnerPrivate"));
    SHADOWS.add(new AbstractMap.SimpleImmutableEntry<>("com.example.objects.OuterDummy2.InnerProtected", "org.robolectric.annotation.processing.shadows.ShadowOuterDummy2$ShadowInnerProtected"));
    SHADOWS.add(new AbstractMap.SimpleImmutableEntry<>("com.example.objects.Private", "org.robolectric.annotation.processing.shadows.ShadowPrivate"));
  }

  public static ShadowDummy shadowOf(Dummy actual) {
    return (ShadowDummy) Shadow.extract(actual);
  }

  public static ShadowOuterDummy2 shadowOf(OuterDummy2 actual) {
    return (ShadowOuterDummy2) Shadow.extract(actual);
  }

  @Override
  public void reset() {
    ShadowDummy.resetter_method();
    ShadowPrivate.resetMethod();
  }

  @Override
  public Collection<Map.Entry<String, String>> getShadows() {
    return SHADOWS;
  }

  @Override
  public String[] getProvidedPackageNames() {
    return new String[] {
        "com.example.objects"
    };
  }

}